Arquitectura ANSI/SPARC
Concepto
Las empresas deben guardar datos. Como los datos que guardan son muchos, tienen que tener una forma efectiva y eficiente para la gestión de esos datos. En ese punto es donde entran los DBMS, que lo que hacen es gestionar (administrar y controlar de forma eficaz y eficiente) el guardado, acceso y modificación de los datos, entre otras funciones. Muchas de los grande DBMS usan SQL para la interacción entre el usuario y la DBMS.
ANSI SPARC es una arquitectura de DBMS. Fue creada por ANSI y sirve como una estandarización de las arquitecturas de DBMS.
El DBMS se encarga de coordinar la acción de los tres niveles que componen ANSI SPARC.
Nivel externo
- El nivel externo comprende las vistas que los usuarios tienen de la base de datos, es decir, la abstracción que se le permite ver al usuario de toda la base de datos (depende de factores como la relevancia de los datos para el usuario)
- No es única para toda la base de datos (existen tantas vistas como usuarios o existen tantas vistas como forma de ver los datos existan, es decir, un usuario puede ver a las fechas como dd/mm/aaaa y otro como mm/dd/aaaa o por ejemplo un usuario puede ver que existen clientes y nombre, mientras que otro usuario puede ver que existen cliente y saldo y nunca conocer que existe el campo nombre)
Nivel conceptual
- El nivel conceptual comprende la forma lógica en que todos los datos se almacenan, sus relaciones y las reglas de integridad.
- Solo es accedida por el administrador de base de datos.
- Le oculta los detalles físicos al nivel externo (trabaja con con elementos lógicos como tablas, entidades, etc.).
- Es única para toda la base de datos.
Nivel interno
- El nivel interno comprende la forma física en que los datos se organizan y almacenan.
- Incluye las técnicas de almacenamiento (espacio requerido, índices, espacio para cada tipo de dato).
- Incluye las técnicas de compresión.
- Incluye las técnicas de encriptamiento.
- Es única para toda la base de datos.
Ventajas
- Abstracción (oculta los detalles de cómo la base de datos almacena los datos físicamente. Esto hace que el usuario tenga menos en lo que pensar)
- Portabilidad (la base de datos es la misma en todos los sistemas, por lo que hace fácil la migración)
- Independencia lógica (un cambio o actualización en el nivel conceptual no modifica el nivel externo. Por ejemplo, agregar una nueva entidad o quitar una relación debe ser indistinto para el nivel externo ya que los usuarios solamente ven lo que necesitan, por ejemplo, un usuario sabe nada más que le puede pedir a la base de datos una lista de clientes y sus nombre pero no sabe ni como está guardada, ni que existen más campos, etc)
- Independencia física (un cambio o actualización en el nivel física no modifica el nivel conceptual ni externo. Por ejemplo, usar un disco HDD o SSD debe ser indistinto para el nivel conceptual y externo o por ejemplo usar índices sobre una tabla)